public static int main(string[] argv) {
    Gegl.init(ref argv);
    var node = new Gegl.Node();
    var input = node.create_child("gegl:png-load");
    input.set_property("path", argv[1]+"/artwork/back_cropped.png");
    var aux = node.create_child("gegl:png-load");
    aux.set_property("path", argv[1]+"/artwork/front_cropped.png");
    var output = node.create_child("gegl:png-save");
    /*var scale = node.create_child("gegl:scale-size");
    scale.set_property("x", 128);
    scale.set_property("y", 128);
    scale.set_property("origin-x", 111);
    scale.set_property("origin-y", 111);
    scale.connect_to("output",output,"input");*/
    foreach (var op in Gegl.list_operations()) {
        var opnode = node.create_child(op);
        if (opnode.list_output_pads().length == 0 || opnode.list_input_pads().length == 0) {
            node.remove_child(opnode);
            continue;
        }
        input.connect_to("output", opnode, "input");
        if (opnode.list_input_pads().length > 1) {
            aux.connect_to("output", opnode, "aux");
        }
        opnode.connect_to("output", output, "input");
        output.set_property("path", op+".png");
        output.process();
        node.remove_child(opnode);
    }
    return 0;
}
